from openpyxl import load_workbook


def is_verify(data):
    # 检查是否所有值都是'None'字符串或Python的None对象
    if all(value in [None, 'None', '', [], {}] for value in data.values()):
        return False

    return True


class ExcelToDict:
    """
    获取每行表格信息
    """

    def __init__(self, file_path):
        self.file_path = file_path
        # 加载Excel文件
        self.workbook = load_workbook(filename=file_path)
        # 选择活动的工作表或者指定一个工作表
        self.sheet = self.workbook.active
        # 获取表头（第一行数据）
        self.headers = [cell for cell in next(self.sheet.iter_rows(values_only=True))]
        # 初始化行迭代器
        self.rows = self.sheet.iter_rows(min_row=2, values_only=True)

    def __iter__(self):
        return self

    def __next__(self):
        # 获取下一行数据
        row = next(self.rows, None)
        # 如果没有更多行，则停止迭代
        if row is None:
            raise StopIteration
            # 返回当前行数据的字典
        data = {header: str(cell) for header, cell in zip(self.headers, row)}
        return data
